﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Entidades.jSON
{
    public class ParametroInfo
    {
        #region Constructores

        /// <summary>
        /// Constructor por defecto
        /// </summary>
        public ParametroInfo()
        {
        }

        /// <summary>
        /// Construye un objeto ParametroInfo a partir de un Parametro
        /// </summary>
        public ParametroInfo(Parametro parametro)
        {
            this.Id                 = parametro.Id;

            #region Datos Empresa
            this.CelularContacto    = parametro.CelularContacto;
            this.Contacto           = parametro.Contacto;
            this.DomicilioLegal     = parametro.DomicilioLegal;
            this.DomicilioReal      = parametro.DomicilioReal;
            this.EmailEmpresa       = parametro.EmailEmpresa;
            this.EmailContacto      = parametro.EmailContacto;
            this.Fax                = parametro.Fax;
            this.IngresosBrutos     = parametro.IngresosBrutos;
            this.NroCuit            = parametro.NroCuit;
            this.RazonSocial        = parametro.RazonSocial;
            this.Responsable        = parametro.Responsable;
            this.Telefono           = parametro.Telefono;
            this.TelefonoContacto   = parametro.TelefonoContacto;
            #endregion

            #region Email
            this.EmailNombre        = parametro.EmailNombre;
            this.EmailNombreUsuario = parametro.EmailNombreUsuario;
            this.EmailPassword      = parametro.EmailPassword;
            this.EmailSMTP          = parametro.EmailSMTP;
            this.EmailPuerto        = parametro.EmailPuerto;
            this.EmailHabilitarSSL  = parametro.EmailHabilitarSSL;

            this.EmailDirectores    = parametro.EmailDirectores;
            this.EmailProveedores   = parametro.EmailProveedores;
            this.EmailReclamos      = parametro.EmailReclamos;
            #endregion

            #region SMS
            this.SMSNumero  = parametro.SMSNumero;
            this.SMSClave   = parametro.SMSClave;
            #endregion
        }

        #endregion

        #region Propiedades

        private int _Id;
        /// <summary>
        /// Id (PK)
        /// </summary>
        public virtual int Id
        {
            get { return _Id; }
            set { _Id = value; }
        }

        #region Datos de la Empresa

        private string _RazonSocial;
        /// <summary>
        /// Razón Social de la Empresa
        /// </summary>
        public virtual string RazonSocial
        {
            get { return _RazonSocial; }
            set { _RazonSocial = value; }
        }

        private string _DomicilioLegal;
        /// <summary>
        /// Domicilio Legal de la Empresa
        /// </summary>
        public virtual string DomicilioLegal
        {
            get { return _DomicilioLegal; }
            set { _DomicilioLegal = value; }
        }

        private string _DomicilioReal;
        /// <summary>
        /// Domicilio Real de la Empresa
        /// </summary>
        public virtual string DomicilioReal
        {
            get { return _DomicilioReal; }
            set { _DomicilioReal = value; }
        }

        private string _Telefono;
        /// <summary>
        /// Teléfono de la Empresa
        /// </summary>
        public virtual string Telefono
        {
            get { return _Telefono; }
            set { _Telefono = value; }
        }

        private string _Fax;
        /// <summary>
        /// Fax de la Empresa
        /// </summary>
        public virtual string Fax
        {
            get { return _Fax; }
            set { _Fax = value; }
        }

        private string _EmailEmpresa;
        /// <summary>
        /// Email de la Empresa
        /// </summary>
        public virtual string EmailEmpresa
        {
            get { return _EmailEmpresa; }
            set { _EmailEmpresa = value; }
        }

        private string _Responsable;
        /// <summary>
        /// Nombre y Apellido del Responsable
        /// </summary>
        public virtual string Responsable
        {
            get { return _Responsable; }
            set { _Responsable = value; }
        }

        private string _Contacto;
        /// <summary>
        /// Contacto
        /// </summary>
        public virtual string Contacto
        {
            get { return _Contacto; }
            set { _Contacto = value; }
        }

        private string _TelefonoContacto;
        /// <summary>
        /// Teléfono del Contacto
        /// </summary>
        public virtual string TelefonoContacto
        {
            get { return _TelefonoContacto; }
            set { _TelefonoContacto = value; }
        }

        private string _CelularContacto;
        /// <summary>
        /// Celular del Contacto
        /// </summary>
        public virtual string CelularContacto
        {
            get { return _CelularContacto; }
            set { _CelularContacto = value; }
        }

        private string _EmailContacto;
        /// <summary>
        /// Email del Contacto
        /// </summary>
        public virtual string EmailContacto
        {
            get { return _EmailContacto; }
            set { _EmailContacto = value; }
        }

        private string _NroCuit;
        /// <summary>
        /// Nro. de Cuit
        /// </summary>
        public virtual string NroCuit
        {
            get { return _NroCuit; }
            set { _NroCuit = value; }
        }

        private string _IngresosBrutos;
        /// <summary>
        /// Ingresos Brutos
        /// </summary>
        public virtual string IngresosBrutos
        {
            get { return _IngresosBrutos; }
            set { _IngresosBrutos = value; }
        }

        #endregion

        #region Email

        private string _EmailNombre;
        /// <summary>
        /// Nombre casilla de Email
        /// </summary>
        public virtual string EmailNombre
        {
            get { return _EmailNombre; }
            set { _EmailNombre = value; }
        }

        private string _EmailNombreUsuario;
        /// <summary>
        /// Nombre de Usuario de casilla de Email
        /// </summary>
        public virtual string EmailNombreUsuario
        {
            get { return _EmailNombreUsuario; }
            set { _EmailNombreUsuario = value; }
        }

        private string _EmailPassword;
        /// <summary>
        /// Password de casilla de Email
        /// </summary>
        public virtual string EmailPassword
        {
            get { return _EmailPassword; }
            set { _EmailPassword = value; }
        }

        private string _EmailSMTP;
        /// <summary>
        /// Servidor SMTP de email
        /// </summary>
        public virtual string EmailSMTP
        {
            get { return _EmailSMTP; }
            set { _EmailSMTP = value; }
        }

        private int _EmailPuerto;
        /// <summary>
        /// Puerto de Email
        /// </summary>
        public virtual int EmailPuerto
        {
            get { return _EmailPuerto; }
            set { _EmailPuerto = value; }
        }

        private bool _EmailHabilitarSSL;
        /// <summary>
        /// Habilitar SSL en Email
        /// </summary>
        public virtual bool EmailHabilitarSSL
        {
            get { return _EmailHabilitarSSL; }
            set { _EmailHabilitarSSL = value; }
        }

        private string _EmailReclamos;
        /// <summary>
        /// Email de Reclamos
        /// </summary>
        public virtual string EmailReclamos
        {
            get { return _EmailReclamos; }
            set { _EmailReclamos = value; }
        }

        private string _EmailDirectores;
        /// <summary>
        /// Email de Directores
        /// </summary>
        public virtual string EmailDirectores
        {
            get { return _EmailDirectores; }
            set { _EmailDirectores = value; }
        }

        private string _EmailProveedores;
        /// <summary>
        /// Email de Proveedors
        /// </summary>
        public virtual string EmailProveedores
        {
            get { return _EmailProveedores; }
            set { _EmailProveedores = value; }
        }

        #endregion

        #region SMS

        /// <summary>
        /// Número de SMS
        /// </summary>
        public virtual string SMSNumero { get; set; }
        
        /// <summary>
        /// Clave del SMS
        /// </summary>
        public virtual string SMSClave { get; set; }

        #endregion

        #endregion
    }
}
